perm filename NSF.3[NSF,DBL] blob sn#158480 filedate 1975-05-09 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00005 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	.MACRO BOXTOP ⊂
C00003 00003	IV.2   AM     (p38)
C00033 00004	APPENDIX 1: AM details  [this needs much more stuff inseerted, but not much manhours]
C00045 00005	BIBLIOGRAPHY
C00075 ENDMK
C⊗;
.MACRO BOXTOP ⊂
.ONCE NOFILL; PREFACE 0; INDENT 0; SELECT 6; TURN ON  "∞→"; TURN OFF "α"
⊂∞α→⊃
.BREAK
.⊃

.MACRO BOXBOT ⊂
.ONCE NOFILL; PREFACE 0; INDENT 0; SELECT 6; TURN ON  "∞→"; TURN OFF "α"
%∞α→$
.BREAK
.⊃

.COMPACT

.FONT E "NGR20"

IV.2   AM     (p38)

How might one go about automating the acquisition of domain knowledge?
First, a specific domain must be chosen. The character of its knowledge must
be studied and perhaps organized. Similarly, one would examine and
categorize the methods typically used to gain new information in this domain.
Next would come a difficult but crucial step: formulate a model of how
new knowledge is acquired in this domain.  The final task would be the
realization of the model in a computer program; this sticky problem would
involve choosing representations, simulating primitive constituents of the
model, replacing vague hints in the model with precise algorithms, etc.

AM is an attempt at such a knowledge acquisition system, for the domain of
elementary mathematics.
The problem of
implementing the general model as a running program is being attacked with
program-understanding methods.
The paragraphs below describe the kinds of concepts↑* AM must deal with,
how new ones are obtained, a tentative model for enlarging one's repertoire of
mathematical concepts, and a description of how AM is designed.
The information that AM begins with, and how knowledge is represented, is
of some interest. 
Since that representation is procedural, acquiring a new concept really means
writing a new little program.
Although there is no predetermined "goal", we can
sketch some of the concepts which we hope AM will acquire.
"Acquisition" has connotations ranging from information storage
to learning to independent discovery; AM should in fact exhibit several
levels of sophistication in how new concepts are introduced.
Appendix 1 provides detailed samples of behaviors we would be happy to
elicit from AM.

Mathematical knowledge is organized into a complex network of subdomains
called ⊗2theories⊗*. Each theory is built on a unique foundation of primitive
concepts (structures and operations) which are implicitly defined by a set
of constraints (called
⊗2axioms⊗*). From this ⊗2basis⊗*, implications can be drawn (called ⊗2theorems⊗*)
and new conventions can be proclaimed (called ⊗2definitions⊗*).
Additional mathematical knowledge exists to enable theories to ⊗4develop⊗*:
some of this is quite rigorous (e.g., techniques for proof), but much of
it is informal (e.g., hints for when some relationship is worth singling
out as a new concept, via a new definition).
Some of these "mathematical techniques" are specific to the theory involved
(e.g., relaxation methods), and some are quite general (e.g., working backwards).

Any knowledge acquisition system for any domain of mathematics should have
the "general" mathematical techniques mentioned above. What else must be present?
For each theory which the system is supposed to know initially, 
it must have specific information about that theory's
primitives, axioms, known theorems, definitions, specialized methods, etc.
In addition, many mathematical theories are built upon others; if such a theory
is to be treated, all the prerequisite ones must be mastered.
For example, one should learn about set theory before studying topology.
So the tentative specification for AM calls for a repertoire of
general techniques (proof strategies, weak problem-solving methods),
plus details of a few fundamental theories (naive set theory, relations, logic).
AM should eventually acquire concepts in fields which depend on these,
such as arithmetic, algebra, and theorem-proving.

Given a description of the mathematical concepts we want AM to deal with,
and what it means to acquire and develop those concepts, we now face the
difficult tasks of proposing a suitable model for acquiring new mathematical
concepts, and implementing that model in a running computer system.
After much reading↑*↑* and introspecting, one tentative model was pieced
together:
.BOXTOP
.BEGIN SELECT E SINGLE SPACE PREFACE 0 INDENT 2,5,2 TURN ON "↓_↑"

1. The order of events in a typical mathematical investigation is:
(a) OBSERVE:
The observation is either of reality or of an analogous, already-established
mathematical theory.
(b) NOTICE REGULARITY: Perceive some patterns, some interesting relationships
that appear to hold sometimes.
(c) FORMALIZE: Decide on some of the objects, operators,
definitions, and statements that the theory will contain.
(d) FINALIZE: Decide which concepts are to be primitve and which aren't;
decide which statements will be considered axioms, and ensure that the others
can in fact be derived from them.
(e) DEVELOP: What additional theorems can be proven from this formal system;
do they correspond to observable phenomena in the domain which motivated
this new theory?  When new observations are made in that motivating domain,
can they be naturally phrased as formal statements in this theory; and if so,
are they provable from the existing axioms and thoerems?


2. 
Notice that each step in (1) involves choosing from a large set of alternatives
-- that is, searching.
The key to keeping this from becoming a blind, explosive search is the
proper use of evaluation criteria. That is, one must constantly choose the
most interesting, aesthetically pleasing, useful,... alternative available.

3. 
But many of those criteria are quite opposite (e.g., one often must sacrifice
elegance for utility, interestingness for safety, etc.). How should one
weight these features when deciding what to do next  during an investigation?
We believe (and one goal of AM is to test) that
the non-formal criteria (aesthetics, interestingness, intuitive clarity,
utility, analogy, empirical evidence) are much more important than formal
deductive methods in developing mathematically worthwhile theories, and
in avoiding barren diversions.
Among the subjective criteria, the  order listed above is roughly their order
of importance. However, AM should have a dynamically variable "orientation",
which under certain circumstances might induce it to seek safety (e.g., utility)
rather than uncertainty (e.g., completing an analogy).

4. The above criteria are virtually the same in all domains of mathematics,
and at all levels. Each factor encourages some pursuits and discourages others.
It is hoped that no modifications need be made to AM's judgmental scheme,
as AM acquires more and more new concepts.

5. For true understanding, AM should relate to each concept in several ways:
declarative (definition), operational (how to use it), demonic (recognizing
when it is relevant), exemplary (especially boundary examples), and
intuitive (simulated image of a real-world interpretation).

6. Progress in ↓_any_↓ field of math demands much intuition (and some
formal knowledge) of ↓_many_↓ different mathematical fields. So a broad,
universal core of intuition must be established before any single theory
can meaningfully be developed.
Intuition is contrasted with more formal representations by the fact that it
is opaque (AM cannot introspect to determine how the result is produced) and
fallable.
.END
.BOXBOT

The final step -- the main one -- is to realize this model in a program, AM.
AM would then have the ability to acquire to new mathematical concepts, in
accord with that model. This acquisition might be via dialogue, where a
human user either tells AM about new concepts, or else where the user merely
guides AM as it compounds its existing concepts into new ones.
The major design details have been tentatively decided upon, and they
are based on recently-developed program-understanding techniques:

1. Representation of knowledge in the system: AM will represent each
concept as a bundle of facets (DEFINITION, INTUITION, RECOGNITION,
INTERESTINGNESS,...), and each facet will be stored internally as a
little program.  Each concept will have precisely the same set of
25 facets.  This enables us to assemble, in advance, a body of knowledge
(called ⊗2strategic⊗* knowledge) about each facet. This is the same
as the program-understanding representation scheme
PUP6 used. 


2. Control in the system: As AM runs, at each moment, each concept
will have only a few of its facet programs filled in; most of the
facets of most of the concepts will be unknown. AM's only control
structure is to repeatedly choose some facet of some concept, and
then use the appropriate strategic knowledge to fill in that missing
program.  The strategic knowledge will typically access and run many
other facet programs from many other concepts.  In the course of
this, new concepts may be constructed and deemed worth giving names to.
Whenever this happens, the new concept has almost all its facets
blank, which means AM now has about 25 specific tasks to eventually
attend to (if they're deemed interesting enough). So AM should never
run out of things to do; rather, the number of possible 
tasks keeps growing rapidly. 
One reason for actually programming AM is to see how sophiticated
the judgmental criteria must be to control this growth.

3. Program-writing: Recall that each facet is a little program. So
"filling in a facet" means synthesizing a program which meets the
requirements. For facet F of concept C, this requirement is that the
program be able to answer questions about F which might be put to C. 
The know-how to write this program is contained in the strategic
knowledge associated with F. The strategic knowledge is thus also a
program; its "argument" in this case would be C (and implicity, all
the existing concepts), and its "output" would be a little program
which would be filled in as facet F of concept C.  All the techniques
of program-⊗2understanding⊗* are required to interpret the argument C
meaningfully.  All the techniques of automatic program ⊗2synthesis⊗* are
required to assemble the output program correctly. 

4. AM is interactive: AM informs a human user of the things it finds
which it thinks are interesting.  The user can interrupt AM and
interrogate it, redirect its energies, and so on. Since the user has
several roles, AM should have several languages: traditional math
notation, textbook English, formal (e.g. AUTOMATH or predicate
calculus), pictorial (simulated visual intuitions), etc. 

.SSEC(Initial State of AM's Knowledge)

1. Range of concepts provided: AM will be given strategic information for
each kind of facet that a concept is permitted to have, and will be given
some detailed information about the most universal mathematical concepts.
A few of these specific concepts are:
⊗2Objects⊗* 
.BEGIN SELECT E PREFACE 0 SINGLE SPACE INDENT 0 ONCE PREFACE 1
(like 
Ordered-pair,
Variable,
List-structure,
Axiom);
⊗2Actives⊗* (like
Compose, Insert, Substitute, 
Undo,
Negate,
Membership,
Equipollence,
Quantification,
Extreme);
⊗2Higher-order Actives⊗* (like
Select, Analogize, 
Assume,
Prove,
Debug,
Communicate,
Select-representation,
Categoricity); and
⊗2Higher-order Objects⊗* (like
Conjecture,
Contradiction, Analogy, 
Problem,
Mathematical-theory).
.END

2. Facets that each concept might have:
Each facet program can be viewed as answering a certain family of questions
about the concept in which it is embedded. For example, the "DEFINITION"
facet of the concept called "COMPOSE" 
should be able to tell if any given entity is a composition.
The tentative set of 25 facets that concepts can have breaks into four main
categories:
.SKIP 1
.BEGIN NOFILL PREFACE 0 INDENT 0
⊗2RECOGNITION GROUPING⊗*  Notice when this concept, call it B, is relevant.
⊗2ALTER-ONESELF GROUPING⊗*  Know about variations of B, how good B is, etc.
⊗2ACT-ON-ANOTHER GROUPING⊗*  Look at part of another concept, perhaps do something to it.
⊗2INFO GROUPING⊗* General information about this concept and how it fits in.
.END

3. Actual initial state: After delineating the concepts which will be given, 
and the facets
that a concept might have, there remain two additional knowledge-gathering tasks:
(i) Fill in some of the facets for each of the concepts initially to be supplied,
and (ii) Fill in the strategic information for each facet. For example, here are
some hints that might be placed in
the INTERESTINGNESS facet of the concept COMPOSE (that is, here are some
procedures
for determining when any specific composition is to viewed as interesting):

.BEGIN SELECT E FILL SPACING 0 PREFACE 0 INDENT 3,6,3 TABBREAK
	The result satisfies some interesting property 
which is not true of either argument relation.
	Interesting properties of both argument relations are preserved.
	Undesirable properties of both argument relations are lost.
	Interesting subsets (cases) of domain of 1st argument operator map into 
interesting subsets of range of 2nd argument operator.
	Preimages of interesting subsets (cases) of range of  2nd argument
are themselves interesting subsets of domain of 1st argument.
	The range of the first argument operator is equal to, not just a subset of,
the domain of the second argument operator.
.END

Notice that the first five factors are all recursive, depending on interestingness
of the arguments, properties, etc. The final hint is ⊗2not⊗* recursive; ultimately,
every interstingness "search" terminates at such primitive factors.
	
.SSEC(The Goal: AM running)

1. No specific goal: One of the flaws of PUP6 was that it had one particular
target. Since PUP6 did synthesize that target, it was never clear precisely
how important various aspects of its design were, and there were no "experiments"
one could run on it. By contrast, AM has no set goal, no target "final state"
of knowledge. Its actions are knowledge acquisition, guided by evaluation
criteria and discovery heuristics. It will be a success if it does something
interesting, if it develops some mathematically interesting concepts (no doubt
ones that are well-known already, like cardinality). This lack of specificity
is considered an advantage, since the system creators can't (even unconsciously)
predetermine what is "necessary" for AM to start with, to acheive a fixed goal.

2. Some possible developments: To say that AM has no specific goal does not mean
that we can't evaluate its performance, or that we have no idea what it might do.
In fact, here is a list of early numerical concepts we expect AM to devlop:
Count, Inverse, Commutativity,
Transitivity, Associativity, Singleton, Function,
Successor, Zero, One, Two, Plus, Times.
Appendix 1 gives scenarios for making it plausible that AM might discover
some of these.

3. A hypothetical dialogue with AM: 
Assume that AM has just developed all the simple numerical concepts listed in (2),
in addition to its universal store (item * on page *).
Here is how the ensuing dialgoue might appear to the user sitting at a teletype.

.SKIP 1
.BEGIN SELECT 7 FILL; PREFACE 80 MILLS; INDENT 0,4,0; SPACING 0
.TURN OFF "-" TURN ON "↑↓"
.AT "USER:" ⊂}⊗8USER⊗*:{⊃
.AT "SYS:" ⊂}⊗8SYSTEM⊗*:{⊃

SYS: I am looking at more examples of TIMES↑-↑1, where TIMES is a relation
taking a pair of numbers and returning a number. So TIMES↑-↑1 takes a number
and returns a set of pairs of numbers.
TIMES↑-↑1(n) seems always to include, as one ordered pair,
(n, 1). Same for (1, n). So I can state:
.ONCE PREFACE 0
Conjecture: (∀xεN)  (x,1) ε TIMES↑-↑1(x), and (1,x) ε TIMES↑-↑1(x).
Proof is simple: TIMES(x,1)=x=TIMES(1,x).

SYS: The two pairs (n,1) and (1,n) 
are distinct iff the number n is not equal to 1.
Noticing the number 1 as an exception, we can state:
.ONCE PREFACE 0
Corollary: COUNT*TIMES↑-↑1(1) = 1;  (∀x>1) COUNT*TIMES↑-↑1(x) ≥ 2.
COUNT * TIMES↑-↑1 is the how many ways one may express a number as a product
of an ordered pair of numbers.

SYS: Interesting to consider the subset P of N, 
defined as α{xεN | COUNT*TIMES↑-↑1(x)=2α}.

USER: (interrupting)  Why is this interesting?

SYS: At the moment, we have the known fact f(x)≥y; try to pin down extreme cases,
those x for which f(x) is precisely equal to y. f is COUNT*TIMES↑-↑1, in the current
case, and y is 2.  Do you have any special names you would like me to refer to
COUNT * TIMES↑-↑1 by? Any special names for the subset P?

USER: Call that composition FAC.
Call the set P, of extreme numbers under FAC, PRIMES.

SYS: Syntactic transformation: "PRIME" is the predicate which means "is in PRIMES".

USER: TIMES may also be viewed as operating on a BAG; 
in this sense, TIMES↑-↑1 would 
return all possible bags (of any length) whose product is the given number. 
We do not allow bags to have <2 members, and we do not allow bags longer than 2
to contain any 1's.

SYS: In this case, the corollary above just says: COUNT(TIMES↑-↑1(x)) ≥ 1. 
The extremes now are just 1 and PRIMES.   
I want a new name for this new interpretation of TIMES↑-↑1.

USER: Call it FACTORS.

SYS: Conjecture: FACTORS(x) always seems to contain a bag containing only
ones and primes, and only one such bag. 

.ONCE PREFACE 0
Proof of existence is by contradiction,
using the lemma  ¬PRIME(x) → ∃(u,v)εTIMES↑-↑1(x) s.t. 1<u<x, 1<v<x.

.ONCE PREFACE 0
Proof of Uniqueness is by contradiction, using the lemma 
(∀a,bεN, xεPRIMES). x|TIMES(a,b) iff x|a or x|b.


USER: Call this the unique factorization theorem. This is very important.
Consider now the sum of all the divisors of a number.

.END

4. How AM's knowledge interacts to do this:
Appendix 1 explains in detail how AM might really manage to make such a
discovery as the Unique Factorization Theorem.

5. Estimates of AM's parameters:

.BEGIN NOFILL INDENT 0 PREFACE 0 TABS 35,45 TURN ON "\" SELECT 1

     NUMBER\Initially\Ultimately
\\ (recall that there is no set "goal", however)
Number of Families of concepts\  5\  5
Number of concepts per family\ 30\100
Number of Parts per concept\ 25\ 25
Size of each part (lines of LISP)\  5\  7
Number of parts filled in\  8\ 20
Size of avg. concept (LISP lines)\ 40\140
Total number of concepts\150\500
Core used by AM\200K\500K
Time per int. result (cpu min)\ 15\  5
CPU time used (hours)\  0\100
.END



________________________________________________________________________

FOOTNOTE (from ↑*, above):

What do we mean by a "mathematical concept"?  A few moments of pondering this
should convince the reader that this cannot be answered cleanly.
Later, we shall indicate the classes of concepts involved; for now, let us just
mention a few specific ones to indicate the breadth involved. Each of the
following is a mathematical concept:
Set, Relation, α{1, frob, α{α}α}, Zorn's Lemma, Theory, Union, Prove, Proof, Theorem,
The Unique Factorization Theorem (UFT), The proof of UFT, The methods used to
prove UFT, Constructively proving existence, Associativity.
A circular definition might be "all the things discussed in math books";
an operational definition might be "whatever AM knows about initially, plus
whatever new knowledge it acquires."


FOOTNOTE (from ↑*↑*, above):

Epecially useful were (see Bibliography for full references)
Polya, Hadamard, Kershner, Skemp.


APPENDIX 1: AM details  [this needs much more stuff inseerted, but not much manhours]

1. Plausibility of discovering early numerical concepts:

2. More complete listing of the names of the concepts AM will start with:

3. Complete list of the facets which each concept might have:

4. Sample of what a concept looks like: "COMPOSE":

5. Details of AM running: how it might manage to discover the Unique Fac. Thm.:

Let's consider just one step in the AM dialogue on page *: the interesting leap
from the user's
declaration to call the function FACTORS, and AM's statement of the unique
factorization theorem.
Recall that the control mechanism is just: repeatedly select a concept and a
facet, then work to fill in the program for that facet of that concept.
Below, C.F is the notation used for facet F of concept C.

.BEGIN  FILL SINGLE SPACE PREFACE 1 INDENT 0,3,0 TURN OFF "{}-"

i. Choose Concept=FACTORS, Facet=TIES.
Gather relevant algorithms from the facets labelled:
[FACTORS.Ties].Fillin, [FACTORS.Genl-Info].Fillin, [FACTORS.Any-Part].Fillin,
[OPERATION.Ties].Fillin, [OPERATION.Genl-Info].Fillin, [OPERATION.Any-Part].Fillin,
[ACTIVE.Ties].Fillin, [ACTIVE.Genl-Info].Fillin, [ACTIVE.Any-Part].Fillin,
[ANY-concept.Ties].Fillin, [ANY-concept.Genl-Info].Fillin, [ANY-concept.Any-Part].Fillin.

ii. First hint collected says: "Let D be the
known concept representing 
the kind of entity in the
range of FACTORS. Then ask D.INTEREST  how to look for interesting
properties or regularities.  If sparse, ask (generalization↑* D).INTEREST also.
Apply these methods to the output of a typical example of FACTORS.
Check interesting property found, by seeing if it holds
for the other outputs from FACTORS  and ensuring it isn't simply part of the
definition of FACTORS."

iii. Because the output of a call on FACTORS is a ⊗2set⊗* of bags,
we are directed to ask SET.INTEREST for aid
in perceiving interesting things about a particular output,
say the output
{(BAG 3 5 5) (BAG 75) (BAG 5 15) (BAG 3 25)} from the call FACTORS(75).
SET.INTEREST is not very big, so we ask STRUCTURE.INTEREST as well.

iv. STRUCTURE.INTEREST explains that there are three 
distinct ways a structure can be interesting.
First, check whether the structure satisfies any known interesting property of that
type of structure.
If not, check to see whether every element satisfies 
the same interesting property. If not, check to see if ⊗2some⊗* element of the
structure satisfies some very interesting property.
The criteria for interestingness being talked about here is the one specified
by the concept representing the type of the elements. In our present case,
our set is a set of ⊗2bags,⊗* so that
means consult all the hints and factors present under BAG.INTEREST. But this is
also very sparse, hence we recursively turn to 
STRUCTURE.INTEREST for evaluation criteria.

v. After a reasonable time, AM cannot find any interesting property satisfied by the
given output set,
{(BAG 3 5 5) (BAG 75) (BAG 5 15) (BAG 3 25)}.
AM also fails to find any single interesting property satisfied
by all four bags which form the elements of that output set.

vi. Now AM looks at each element in turn, that is, each
bag. First we consider (BAG 75), say. This satisfies the property SINGLETON.
We check with other examples of FACTORS and, sure enough, each one of them
contains, as an element, a bag having the property SINGLETON. Comparing these
singletons to the inputs to FACTORS, we conjecture that 
(BAG x) will always appear in the output set of FACTORS(x).

vii. We go back to looking at the individual bags in FACTORS(75).
This time we
look at (BAG 3 5 5).  Each element ⊗2does⊗* satisfy an interesting property,
namely PRIME. We check against the other examples of FACTORS, and sure enough
each one of them contains an element which is a bag of primes. There doesn't
seem to be any obvious relationship to the input argument, so we merely
conjecture that FACTORS(x) always contains a bag of primes, without saying
which primes or how to compute them. This is one half of the Unique Factorization
Theorem. Notice that this is "rough around the edges", namely for the cases
of factors of zero and one, but these will be caught later by an expert concept
who specializes in checking conjectures just before we start to prove them.


viii. Each element of (BAG 3 5 5) also satisfies the property ODD. But this is quickly
rejected by looking at the example FACTORS(2) = {(BAG 2)}.

ix. We now look at the next individual bag in FACTORS(75), namely (BAG 5 15).
Nothing interesting is found here or in the next case, (BAG 3 25).

x. Instead of going on to prove some of these conjectures, let's see how AM might
notice the uniqueness aspects of them. AM knows that some elements of FACTORS(x)
satisfy MAPSTRUC(PRIME), but some don't. It wants to find out how to characterize
those which do; namely, those bags of primes from those containing a nonprime.
So AM will temporarily create a new concept, called say PF, defined as
⊗7PF(x) = FACTORS(x) ∩ MAPSTRUC(PRIME, x) = {b | BAG(b) ∧ TIMES(b)=x ∧ 1¬εb ∧
∀zεb. PRIME(z)}⊗*.
Which means: all bags of primes whose TIMES is x; which also means all
factorizations of x into bags containing only primes.

xi. In a manner similar to the above, AM will notice that PF of each number seems to
be a SINGLETON. That is, there is only one bag of primes in the FACTORS(x) collection
for a given x.  How does it do this?
The unique factorization theorem can be
consisely be stated as "PF is a function defined on N".
In such a form, it is not surprising that AM will routinely investigate it.

.END

6. Estimated timetable for AM:

(i). Codify the necessary core of initial knowledge 
(facts and the wisdom to employ them).
⊗EReality: See Given Knowledge, as presented in a separate volume. 
Completed in December, 1974.⊗*

.BEGIN  TURN ON "{"

(ii). Formulate a sufficient set of new ideas, 
design decisions, and intuitive assumptions
to make the task meaninful and feasable.
⊗EReality: firmed up in January, 1975.⊗*

(iii). Use these ideas to represent the core knowledge of mathematics collected 
in (i),
in a concrete, simulated system.
⊗EReality: the current version of Given Knowledge casts this into the concept-family format.
Hand-simulations done during February and March, 1975, with this "paper" system.⊗*

(iv). Implement a realization of AM as a  computer program.
⊗EReality: Under way in April, 1975.⊗*

(v). Debug and run the system. Add the natural language abilities gradually, as needed.
⊗EReality: Scheduled for May to November of 1975. First interesting results
expected in late June.⊗*

(vi). Analyze the results obtained from AM, with an eye toward: overall
feasability of automating creative mathematical discovery and theory development;
adequacy of the initial
core of knowledge; adequacy of the ideas, design decisions, implementation
details, and theoretical assumptions.  Use the results to improve the system;
when "adequate,"  forge ahead as far as possible into as many domains as possible,
then reanalyze. ⊗EReality: 
the (v)↔(vi) cycle will terminate in the Winter of 1976.⊗*

(vii). Experiment with AM. ⊗EReality: scheduled to begin in December, 1975.⊗*

.END
BIBLIOGRAPHY

All the references below have actually been read as background for AM.
I strongly recommend those with an "α@" sign; the others proved to be merely
supplementary.


.SSEC(Books and Memos)

.BEGIN FILL SINGLE SPACE  PREFACE 1 INDENT 0,4,0 TURN OFF "@"

Adams, James L., zz4Conceptual Blockbusting⊗*, W.H. Freeman and Co.,
San Francisco, 1974.

Allendoerfer, Carl B., and Oakley, Cletis O., ⊗4Principles of
Mathematics⊗*, Third Edition, McGraw-Hill, New York, 1969.

Alexander, Stephen, ⊗4On the Fundamental Principles of Mathematics⊗*,
B. L. Hamlen, New Haven, 1849.

Aschenbrenner, Karl, ⊗4The Concepts of Value⊗*, D. Reidel Publishing
Company, Dordrecht, Holland, 1971.

Atkin, A. O. L., and Birch, B. J., eds., ⊗4Computers in Number Theory⊗*,
Proceedings of the 1969 SRCA Oxford Symposium, Academic Press, New York, 
1971.

Avey, Albert E., ⊗4The Function and Forms of Thought⊗*, Henry Holt and
Company, New York, 1927.

@Badre, Nagib A., ⊗4Computer Learning From English Text⊗*, Memorandum
No. ERL-M372, Electronics Research Laboratory, UCB, December 20, 1972.
Also summarized in ⊗4CLET -- A Computer Program that Learns Arithmetic
from an Elementary Textbook⊗*, IBM Research Report RC 4235, February
21, 1973.

Bahm, A. J., ⊗4Types of Intuition⊗*, University of New Mexico Press,
Albuquerque, New Mexico, 1960.

Banks, J. Houston, ⊗4Elementary-School Mathematics⊗*, Allyn and Bacon,
Boston, 1966.

Berkeley, Edmund C., ⊗4A Guide to Mathematics for the Intelligent
Nonmathematician⊗*, Simon and Schuster, New York, 1966.

Berkeley, Hastings, ⊗4Mysticism in Modern Mathematics⊗*, Oxford U. Press,
London, 1910.

Beth, Evert W., and Piaget, Jean, ⊗4Mathematical Epistemology and
Psychology⊗*, Gordon and Breach, New York, 1966.

Black, Max, ⊗4Margins of Precision⊗*, Cornell University Press,
Ithaca, New York, 1970.

Blackburn, Simon, ⊗4Reason and Prediction⊗*, Cambridge University Press,
Cambridge, 1973.

@Brotz, Douglas K., ⊗4Embedding Heuristic Problem Solving Methods in a
Mechanical Theorem Prover⊗*, dissertation published as Stanford Computer
Science Report STAN-CS-74-443, AUgust, 1974.

Bruner, Jerome S., Goodnow, J. J., and Austin, G. A., ⊗4A Study of
Thinking⊗*, Harvard Cognition Project, John Wiley & Sons,
New York, 1956.

Charosh, Mannis, ⊗4Mathematical Challenges⊗*, NCTM, Wahington, D.C., 1965.

Cohen, Paul J., ⊗4Set Theory and the Continuum Hypothesis⊗*,  W.A.Benjamin, Inc.,
New York, 1966.

Copeland, Richard W., ⊗4How Children Learn Mathematics⊗*, The MacMillan
Company, London, 1970.

Courant, Richard, and Robins, Herbert, ⊗4What is Mathematics⊗*, 
Oxford University Press, New York, 1941.

D'Augustine, Charles, ⊗4Multiple Methods of Teaching Mathematics in the
Elementary School⊗*, Harper & Row, New York, 1968.

Dornbusch, Sanford, and Scott, ⊗4Evaluation and the Exercise of Authority⊗*,
Jossey-Bass, San Francisco, 1975.

Douglas, Mary (ed.), ⊗4Rules and Meanings⊗*, Penguin Education,
Baltimore, Md., 1973.

Dowdy, S. M., ⊗4Mathematics: Art and Science⊗*, John Wiley & Sons, NY, 1971.

Dubin, Robert, ⊗4Theory Building⊗*, The Free Press, New York,  1969.

Dubs, Homer H., ⊗4Rational Induction⊗*, U. of Chicago Press, Chicago, 1930.

Dudley, Underwood, ⊗4Elementary Number Theory⊗*, W. H. Freeman and
Company, San Francisco, 1969.

Eynden, Charles Vanden, ⊗4Number Theory: An Introduction to Proof⊗*, 
International Textbook Comapny, Scranton, Pennsylvania, 1970.

Fuller, R. Buckminster, ⊗4Intuition⊗*, Doubleday, Garden City, New York,
1972.

GCMP, ⊗4Key Topics in Mathematics⊗*, Science Research Associates,
Palo Alto, 1965.

Goldstein, Ira, ⊗4Elementary Geometry Theorem Proving⊗*, MIT AI Memo 280,
April, 1973.

Goodstein, R. L., ⊗4Fundamental Concepts of Mathematics⊗*, Pergamon Press, 
New York, 1962.

Goodstein, R. L., ⊗4Recursive Number Theory⊗*, North-Holland Publishing Co.,
Amsterdam, 1964.

@Green, Waldinger, Barstow, Elschlager, Lenat, McCune, Shaw, and Steinberg,
⊗4Progress Report on Program-Understanding Systems⊗*, Memo AIM-240,
CS Report STAN-CS-74-444,Artificial Intelligence Laboratory,
Stanford University, August, 1974.

@Hadamard, Jaques, ⊗4The Psychology of Invention in the Mathematical
Field⊗*, Dover Publications, New York, 1945.

Halmos, Paul R., ⊗4Naive Set Theory⊗*, D. Van Nostrand Co., 
Princeton, 1960.

Hanson, Norwood R., ⊗4Perception and Discovery⊗*, Freeman, Cooper & Co.,
San Francisco, 1969.

Hartman, Robert S., ⊗4The Structure of Value: Foundations of Scientific
Axiology⊗*, Southern Illinois University Press, Carbondale, Ill., 1967.

Hempel, Carl G., ⊗4Fundamentals of Concept Formation in Empirical
Science⊗*, University of Chicago Press, Chicago, 1952.

Hibben, John Grier, ⊗4Inductive Logic⊗*, Charles Scribner's Sons,
New York, 1896.

Hilpinen, Risto, ⊗4Rules of Acceptance and Inductive Logic⊗*, Acta
Philosophica Fennica, Fasc. 22, North-Holland Publishing Company,
Amsterdam, 1968.

Hintikka, Jaako, ⊗4Knowledge and Belief⊗*, Cornell U. Press, Ithaca, NY, 1962.

Hintikka, Jaako, and Suppes, Patrick (eds.), ⊗4Aspects of Inductive
Logic⊗*, North-Holland Publishing Company, Amsterdam, 1966.

Jouvenal, Bertrand de, ⊗4The Art of Conjecture⊗*, Basic Books, Inc.,
New York, 1967.

@Kershner, R.B., and L.R.Wilcox, ⊗4The Anatomy of Mathematics⊗*, The Ronald
Press Company, New York, 1950.

Klauder, Francis J., ⊗4The Wonder of Intelligence⊗*, Christopher
Publishing House, North QUincy, Mass., 1973.

Klerner, M., and J. Reinfeld, eds., ⊗4Interactive Systems for Applied Mathematics⊗*,
ACM Symposium, held in Washington, D.C., AUgust, 1967. Academic Press, NY, 1968.

Kline, M. (ed), ⊗4Mathematics in the Modern World: Readings from Scientific
American⊗*, W.H.Freeman and Co., San Francisco, 1968.

@Kling, Robert Elliot, ⊗4Reasoning by Analogy with Applications to Heuristic
Problem Solving: A Case Study⊗*, Stanford Artificial Intelligence Project
Memo AIM-147, CS Department report CS-216, August, 1971.

Koestler, Arthur, ⊗4The Act of Creation⊗*,  New York, Dell Pub., 1967.

Korner, Stephan, ⊗4Conceptual Thinking⊗*, Dover Publications, New York,
1959.

Krivine, Jean-Louis, ⊗4Introduction to Axiomatic Set Theory⊗*, Humanities Press,
New York, 1971.

Kubinski, Tadeusz, ⊗4On Structurality of Rules of Inference⊗*, Prace
Wroclawskiego Towarzystwa Naukowego, Seria A, Nr. 107, Worclaw, 
Poland, 1965.

Lakatos, Imre (ed.), ⊗4The Problem of Inductive Logic⊗*, North-Holland 
Publishing Co., Amsterdam, 1968.

Lamon, William E., ⊗4Learning and the Nature of Mathematiccs⊗*, Science
Research Associates, Palo Alto, 1972.

Lang, Serge, ⊗4Algebra⊗*, Addison-Wesley, Menlo Park, 1971.

Lefrancois, Guy R., ⊗4Psychological Theories and Human Learning⊗*, 1972.

Le Lionnais, F., ⊗4Great Currents of Mathematical Thought⊗*, Dover
Publications, New York, 1971.

Margenau, Henry, ⊗4Integrative Principles of Modern Thought⊗*, Gordon
and Breach, New York, 1972.

Martin, James, ⊗4Design of Man-Computer Dialogues⊗*, Prentice-Hall, Inc.,
Englewood Cliffs, N. J., 1973.

Martin, R. M., ⊗4Toward a Systematic Pragmatics⊗*, North Holland Publishing
Company, Amsterdam, 1959.

Mendelson, Elliott, ⊗4Introduction to Mathematical Logic⊗*, Van Nostrand Reinhold
Company, New York, 1964.

Meyer, Jerome S., ⊗4Fun With Mathematics⊗*, Fawcett Publications,
Greenwich, Connecticut, 1952.

Mirsky, L., ⊗4Studies in Pure Mathematics⊗*, Academic Press, New
York, 1971.

Moore, Robert C., ⊗4D-SCRIPT: A Computational Theory of Descriptions⊗*,
MIT AI Memo 278, February, 1973.

National Council of Teachers of Mathematics, ⊗4The Growth of Mathematical
Ideas⊗*, 24th yearbook, NCTM, Washington, D.C., 1959.

Newell, Allen, and Simon, Herbert, ⊗4Human Problem Solving⊗*, 1972.

Nevins, Arthur J., ⊗4A Human Oriented Logic for Automatic Theorem
Proving⊗*, MIT AI Memo 268, October, 1972.

Niven, Ivan, and Zuckerman, Herbert, ⊗4An Introduction to the Theory
of Numbers⊗*, John Wiley & Sons, Inc., New York, 1960.

Olson, Robert G., ⊗4Meaning and Argument⊗*, Harcourt, Brace & World,
New York, 1969.

Ore, Oystein, ⊗4Number Theory and its History⊗*, McGraw-Hill, 
New York, 1948.

Pietarinen, Juhani, ⊗4Lawlikeness, Analogy, and Inductive Logic⊗*,
North-Holland, Amsterdam, published as v. 26 of the series
Acta Philosophica Fennica (J. Hintikka, ed.), 1972.

@Poincare', Henri, ⊗4The Foundations of Science: Science and Hypothesis,
The Value of Science, Science and Method⊗*, The Science Press, New York,
1929. 
.COMMENT main library, 501  P751F, copy 4;

@Polya, George, ⊗4Mathematics and Plausible Reasoning⊗*, Princeton
University Press, Princeton, Vol. 1, 1954;  Vol. 2, 1954.

@Polya, George, ⊗4How To Solve It⊗*, Second Edition, Doubleday Anchor Books, 
Garden City, New York, 1957.

@Polya, George, ⊗4Mathematical Discovery⊗*, John Wiley & Sons,
New York, Vol. 1, 1962; Vol. 2, 1965.

Richardson, Robert P., and Edward H. Landis, ⊗4Fundamental Conceptions of
Modern Mathematics⊗*, The Open Court Publishing Company, Chicago, 1916.

Rosskopf, Steffe, Taback  (eds.), ⊗4Piagetian Cognitive-
Development Research and Mathematical Education⊗*,
National Council of Teachers of Mathematics, New York, 1971.

Rulison, Jeff, and... ⊗4QA4, A Procedural Frob...⊗*,
Technical Note..., Artificial Intelligence Center, SRI, Menlo
Park, California, ..., 1973.

Saaty, Thomas L., and Weyl, F. Joachim (eds.), ⊗4The Spirit and the Uses
of the Mathematical Sciences⊗*, McGraw-Hill Book Company, New York, 1969.

Schminke, C. W., and Arnold, William R., eds., ⊗4Mathematics is a Verb⊗*,
The Dryden Press, Hinsdale, Illinois, 1971.

Singh, Jagjit, ⊗4Great Ideas of Modern Mathematics⊗*, Dover Publications,
New York, 1959.

@Skemp, Richard R., ⊗4The Psychology of Learning Mathematics⊗*, 
Penguin Books, Ltd., Middlesex, England, 1971.

Slocum, Jonathan, ⊗4The Graph-Processing Language GROPE⊗*, U. Texas at Austin,
Technical Report NL-22, August, 1974.

Smith, Nancy Woodland, ⊗4A Question-Answering System for Elementary Mathematics⊗*,
Stanford Institute for Mathematical Studies in the Social Sciences, Technical
Report 227, April 19, 1974.

Smith, R.L., Nancy Smith, and F.L. Rawson, ⊗4CONSTRUCT: In Search of a Theory of
Meaning⊗*, Stanford IMSSS Technical Report 238, October 25, 1974.

Stein, Sherman K., ⊗4Mathematics: The Man-Made Universe: An Introduction
to the Spirit of Mathematics⊗*, Second Edition, W. H. Freeman and 
Company, San Francisco,  1969.

Stewart, B. M., ⊗4Theory of Numbers⊗*, The MacMillan Co., New York, 1952.

Stokes, C. Newton, ⊗4Teaching the Meanings of Arithmetic⊗*, 
Appleton-Century-Crofts, New York, 1951.

Suppes, Patrick, ⊗4A Probabilistic Theory 
of Causality⊗*, Acta Philosophica Fennica,
Fasc. 24, North-Holland Publishing Company, Amsterdam, 1970.

Teitelman, Warren, ⊗4INTERLISP Reference
Manual⊗*, XEROX PARC, 1974.

Venn, John, ⊗4The Principles of Empirical or Inductive Logic⊗*,
MacMillan and Co., London, 1889.

Waismann, Friedrich, ⊗4Introduction to Mathematical Thinking⊗*, 
Frederick Ungar Publishing Co., New York, 1951.

Wickelgren, Wayne A., ⊗4How to Solve Problems: Elements of a Theory of Problems
and Problem Solving⊗*, W. H. Freeman and Co., Sanf Francisco, 1974.

Wilder, Raymond L., ⊗4Evolution of Mathematical Concepts⊗*, John Wiley & Sons,
Inc., NY, 1968.

Winston, P., (ed.),
"New Progress in Artificial Intelligence",
⊗4MIT AI Lab Memo AI-TR-310⊗*, June, 1974. 
Good summaries of work on Frames,
Demons, Hacker, Heterarchy, Dialogue, and Belief.

Wittner, George E., ⊗4The Structure of Mathematics⊗*, Xerox College Publishing,
Lexington, Mass, 1972.

Wright, Georg H. von, ⊗4A Treatise on Induction and Probability⊗*,
Routledge and Kegan Paul, London, 1951.

.END
.SSEC(Articles)

.BEGIN FILL SINGLE SPACE  PREFACE 1 INDENT 0,4,0 TURN OFF "@"

Amarel, Saul, ⊗4On Representations of Problems of Reasoning about
Actions⊗*, Machine Intelligence 3, 1968, pp. 131-171.

Bledsoe, W. W., ⊗4Splitting and Reduction Heuristics in Automatic
Theorem Proving⊗*, Artificial Intelligence 2, 1971, pp. 55-77.

Bledsoe and Bruell, Peter, ⊗4A Man-Machine Theorem-Proving System⊗*,
Artificial Intelligence 5, 1974, 51-72.

Bourbaki, Nicholas, ⊗4The Architechture of Mathematics⊗*, American Mathematics
Monthly, v. 57, pp. 221-232, Published by the MAA, Albany, NY, 1950.

@Boyer, Robert S., and J. S. Moore, ⊗4Proving Theorems about LISP Functions⊗*,
JACM, V. 22, No. 1, January, 1975, pp. 129-144.

@Bruijn, N. G. de, ⊗4AUTOMATH, a language for mathematics⊗*, Notes taken by
Barry Fawcett, of Lecures given at the Seminare de mathematiques Superieurs,
University de Montreal, June, 1971. Stanford University Computer Science
Library report number is 005913.

@Buchanan, Feigenbaum, and Sridharan, ⊗4Heuristic Theory Formation⊗*,
Machine Intelligence 7, 1972, pp. 267-...

@Bundy, Alan, ⊗4Doing Arithmetic with Diagrams⊗*, 3rd IJCAI, 
1973, pp. 130-138.

Daalen, D. T. van, ⊗4A Description of AUTOMATH and some aspects of its language
theory⊗*, in the Proceedings of the SYmposium on APL, Paris, December, 1973,
P. Braffort (ed). This volume also contains other, more detailed articles on this
project, by  Bert Jutting and Ids Zanlevan.

Engelman, C., ⊗4MATHLAB: A Program for On-Line Assistance in Symbolic Computation⊗*,
in Proceedings of the FJCC, Volume 2, Spartan Books, 1965.

Engelman, C., ⊗4MATHLAB '68⊗*, in IFIP, Edinburgh, 1968.

Gardner, Martin, ⊗4Mathematical Games⊗*, Scientific American, numerous columns,
including especially:  February, 1975.

Goldstine, Herman H., and J. von Neumann, ⊗4On the Principles of Large Scale
Computing Machines,⊗* pages 1:33 of Volumne 5 of A. H. Taub (ed), ⊗4The
Collected Works of John von Neumann⊗*, Pergamon Press, NY, 1963.

Guard, J. R., et al., ⊗4Semi-Automated Mathematics⊗*, JACM 16,
January, 1969, pp. 49-62.

Halmos, Paul R., ⊗4Innovation in Mathematics⊗*, in
Kline, M. (ed), ⊗4Mathematics in the Modern World: Readings from Scientific
American⊗*, W.H.Freeman and Co., San Francisco, 1968, pp. 6-13. Originally in
Scientific American, September, 1958.

Hasse, H., ⊗4Mathemakik als Wissenschaft, Kunst und Macht⊗*,
(Mathematics as Science, Art, and Power), Baden-Badeb, 1952.

@Hewitt, Carl, ⊗4A Universal Modular ACTOR Formalism for
Artificial Intelligence⊗*, Third International Joint Conference on
Artificial Intelligence,
1973, pp. 235-245.

Menges, Gunter, ⊗4Inference and Decision⊗*, 
A Volume in ⊗4Selecta Statistica Canadiana⊗*,
John Wiley & Sons, New York,  1973, pp. 1-16.

Kling, Robert E., ⊗4A Paradigm for Reasoning by Analogy⊗*,
Artificial Intelligence 2, 1971, pp. 147-178.

Knuth,Donald E., ⊗4Ancient Babylonian Algorithms⊗*,
CACM 15, July, 1972, pp. 671-677.

Lee, Richard C. T., ⊗4Fuzzy Logic and the Resolution Principle⊗*,
JACM 19, January, 1972, pp. 109-119.

@Lenat, D., ⊗4BEINGs: Knowledge as Interacting Experts⊗*, 4th IJCAI, 1975.

McCarthy, John, and Hayes, Patrick, ⊗4Some Philosophical Problems
from the Standpoint of Artificial Intelligence⊗*, Machine Intelligence
4, 1969, pp. 463-502.

Martin, W., and Fateman, R., ⊗4The MACSYMA System⊗*, Second
Symposium on Symbolic and Algebraic Manipulation, 1971, pp. 59-75.

@Minsky, Marvin, ⊗4Frames⊗*, in (Winston) ⊗4Psychology of Computer
Vision⊗*, 1974.

Moore, J., and Newell, ⊗4How Can Merlin Understand?⊗*, Carnegie-Mellon University
Department of Computer Science "preprint", November 15, 1973.

@Neumann, J. von, ⊗4The Mathematician⊗*, in R.B. Heywood (ed), ⊗4The Works
of the Mind⊗*, U. Chicago Press, pp. 180-196, 1947.

Neumann, J. von, ⊗4The Computer and the Brain⊗*, Silliman Lectures, Yale U. Press,
1958.

Pager, David, ⊗4A Proposal for a Computer-based Interactive Scientific
Community⊗*, CACM 15, February, 1972, pp. 71-75.

Pager, David, ⊗4On the Problem of Communicating Complex Information⊗*,
CACM 16, May, 1973, pp. 275-281.

@Sloman, Aaron, ⊗4Interactions Between Philosophy and Artificial 
Intelligence: The Role of Intuition and Non-Logical Reasoning in
Intelligence⊗*, Artificial Intelligence 2, 1971, pp. 209-225.

Sloman, Aaron, ⊗4On Learning about Numbers⊗*,...

Winston, Patrick, ⊗4Learning Structural Descriptions
from Examples⊗*, Ph.D. thesis, Dept. of Electrical Engineering,
TR-76, Project MAC, TR-231, MIT AI Lab, September, 1970.

.END